/**
 * @param {number} n
 * @return {number}
 */
//  var findNthDigit = function(n) {
//     let index = -1;
//     let num = 0;
//     let m = 1;
//     let limit = 9;
//     for(;index<n;num++){
//         index+=m;
//         if(index>=limit){
//             limit = limit + 9*Math.pow(10,m)*(m+1);
//             m++;
//         }
//     }
//     let s= (num-1).toString();
//     return s.charAt(s.length+n-index-1);
// };

var findNthDigit = function(n) {
    if(n<=9){
        return n;
    }
    let num = 0;
    let m = 1;
    let limit = 10;
    // 减去一个位数的值
    while(n>limit){
        num+= 9*Math.pow(10,m-1);
        n=n-limit;
        limit = 9*Math.pow(10,m)*(m+1)
        m++;
    }
    return (Math.floor(n/m)+num+1).toString()[n%m];
};

 var findNthDigit = function(n) {
    let index = 0;
    let num = 0;
    let m = 1;
    let limit = 9;
    // 减去一个位数的值
    while(n>limit){
        num+= 9*Math.pow(10,m-1);
        n=n-limit;
        limit = 9*Math.pow(10,m)*(m+1)
        m++;
    }
    for(;index<n;num++){
        index+=m;
    }
    let s=num.toString();
    return s.charAt(s.length+n-index-1);
};